package com.zenagro.domain.zenagro;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;

import org.openxava.annotations.ReferenceView;
import org.openxava.annotations.Required;
import org.openxava.annotations.Tab;
import org.openxava.annotations.View;
import org.openxava.annotations.Views;

import com.zenagro.domain.zenagro.base.Identificable;
@Entity (name="Poblacion")
@Table (name="poblacion")
@Tab(properties="nombre,provincia.nombre")
@View(name="reference", members="nombre")
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class Poblacion extends Identificable {

	@Required
    @Column(name="nombre",  nullable=false,  unique=true)//  length=45,
    private String nombre;

	@Required
    @ManyToOne //(fetch=FetchType.LAZY ,optional=false) Parece que el lazy da algun problema con JPaCloner!!!!
    @JoinColumn(name="provicia_id", referencedColumnName = "id", nullable=false,  unique=false  )
    //@ReferenceView ("reference") 
    private Provincia provincia;
	
	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public Provincia getProvincia() {
		return provincia;
	}

	public void setProvincia(Provincia provincia) {
		this.provincia = provincia;
	}
	
	
	
	
}
